package com.spring.boot.controller;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.boot.entity.SysMenu;
import com.spring.boot.entity.SysRole;
import com.spring.boot.response.Result;
import com.spring.boot.service.SysMenuService;
import com.spring.boot.service.SysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
//@PreAuthorize("hasAnyAuthority('ROLE_menuOption')")
@RequestMapping("/menu")
public class SysMenuController {
    @Autowired
    private SysMenuService sysMenuService;

//    @PostMapping("/add")
//    public Result<?> save(@RequestBody SysMenu menu){
//        sysMenuService.save(menu);
//        SysMenu result = sysMenuService.getById(menu.getId());
//        return Result.OK("新增成功",result);
//    }
//
//    @DeleteMapping("/delete/{id}")
//    public Result<?> delete(@PathVariable int id){
//        sysMenuService.removeById(id);
//        return Result.OK("删除成功!", id);
//    }

//    @PostMapping("/edit")
//    public Result<?> update(@RequestBody SysMenu menu){
//        sysMenuService.updateById(menu);
//        return Result.OK("编辑成功");
//
//    }


//    @GetMapping("/page")
//    public Result<?> page(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
//                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
//                              @RequestParam(name = "search", defaultValue = "") String menu){
//
//        Page<SysMenu> page = new Page<>(pageNum,pageSize);
//        QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
//        if (!StrUtil.isEmpty(menu)){
//            queryWrapper.like("menu",menu);
//        }
//        Page<SysMenu> pageList = sysMenuService.page(page, queryWrapper);
//        return Result.OK(pageList);
//    }

    @GetMapping("/list")
    public Result<?> list(){
        List<SysMenu> list = sysMenuService.list(null);
        return Result.OK(list);
    }

    @GetMapping("/translate/{menus}")
    public Result<?> translate(@PathVariable String menus){
        String translatedMenus = sysMenuService.translate(menus);
        return Result.OK(translatedMenus);//todo 不一定是ok
    }
}
